<?php

declare( strict_types = 1 );

namespace App\Common\Model\WebDebugLog;

use App\Common as com;
use App\Common\Model\WebDebugLog\DataManager as thisDataManager;
use App\Common\Model as nameModel;
use App\Common\Model\WebDebugLog\DataUnit as nameDataUnit;
use App\Common\Model\WebDebugLog as nameWebDebugLog;
use App\Common\Model\Base as nameModelBase;

class DataManager extends nameModel\Base\DataManager {

	use nameWebDebugLog\TemplateTrait\_AutoBuild\DataUnit;
	use nameWebDebugLog\TemplateTrait\DataUnit;
	use nameModelBase\Traits\DataUnitPublicMethod;

	/**
	 * 关联父表数据的字段映射，格式[ '当前表字段', '父表字段' ]
	 * @var array|null [null]无
	 */
	// protected ?array $relevanceDataFieldMapOfParent = [ 'xxx_id', 'id' ];

	/**
	 * 关联子表数据的字段映射，格式[ '当前表字段', '子表字段' ]
	 * @var array|null
	 */
	// protected array $relevanceDataFieldMapOfClient = [ 'id', null ];

	/**
	 * @return com\Model\XXX\DataManager
	 */
	/*
	public function goParent(  ):nameModel\XXX\DataManager {
		return $this->goParentOfClassName( nameModel\XXX\DataManager::class );
	}
	*/

	/**
	 * @return com\Model\XXX\DataManager
	 */
	/*
	public function goParentOfXXX(  ):nameModel\XXX\DataManager {
		return $this->goParent();
	}
	*/

	/**
	 * Client->XXX
	 * @return nameModel\XXX\DataManager
	 */
	/*
	public function goClientXXX(  ):nameModel\XXX\DataManager {
		return $this->goClientOfClassName( nameModel\XXX\DataManager::class );
	}
	*/

	/**
	 * 保存(全接替)
	 * @return void
	 */
	//	protected function _saveAll():void {}

	/**
	 * saveOfParaent执行前事件
	 * @return void
	 */
	// protected function _saveParaent_Before():void {}

	/**
	 * saveAllOfClient执行前事件
	 * @param int $mainDataId
	 * @return void
	 */
	// protected function _saveAllOfClient_Before( int $mainDataId ):void {}


	/**
	 * saveOfSelf执行前事件
	 * @return void
	 */
	// protected function _saveSelf_Before():void {}

}
